var menuDetail = {
	menuData : {},
	validateFields : {
		menuName : {
			validators : {
				notEmpty : {
					message : '菜单名称不能为空'
				}
			}
		},
		menuCode : {
			validators : {
				notEmpty : {
					message : '菜单编号不能为空'
				}
			}
		},
		parentName : {
			validators : {
				notEmpty : {
					message : '父菜单不能为空'
				}
			}
		},
		url : {
			validators : {
				notEmpty : {
					message : '请求地址不能为空'
				}
			}
		},
		sortNum : {
			validators : {
				notEmpty : {
					message : '序号不能为空'
				}
			}
		}
	},
	// 清空数据
	clearData : function() {
		this.menuData = {};
	},
	// 关闭窗口
	close : function() {
		parent.layer.close(window.parent.Menu.layerIndex);
	},
	// 设置参数
	setData : function(key, value) {
		this.menuData[key] = (typeof value == "undefined") ? $("#" + key).val()
				: value;
		return this;
	},
	// 获取对应值
	getData : function(key) {
		return $("#" + key).val();
	},
	// 一次性设置所有的参数
	collectData : function() {
		this.setData('id').setData('menuName').setData('menuCode').setData('parentId').setData('url')
				.setData('sortNum').setData('level').setData('icon').setData('isMenu').setData('isEnable');
	},
	showMenuTree:function(){
    	Base.showInputTree("parentName", "ztreeDiv", 15, 34);
    },
    //点击树节点
	clickMenuTree : function(e, treeId, treeNode){
		$('#parentName').val(menuDetail.ztreeInstance.getSelectedVal());
	    $("#parentId").val(treeNode.id);
	    $('#level').val(treeNode.data+1)
	},
	// 校验参数是否为空
	validate : function() {
		$('#menuDetail').data("bootstrapValidator").resetForm();
		$('#menuDetail').bootstrapValidator('validate');
		return $("#menuDetail").data('bootstrapValidator').isValid();
	},
	submit : function(action) {
		var succesInfo = "";
		var errorInfo = "";
		var url = "";
		if (action == 'add') {
			succesInfo = "添加成功!";
			errorInfo = "添加失败!";
			url = '/sysMenu/add';
		} else if (action == 'edit') {
			succesInfo = "修改成功!";
			errorInfo = "修改失败!";
			url = '/sysMenu/edit';
		} else {
			Base.error('执行方法错误!');
			return;
		}

		this.clearData(); // 清理数据
		this.collectData(); // 设置所有值

		if (!this.validate()) { // 校验参数
			return;
		}
		//console.info(this.menuData);
		var ajax = new $ajax(Base.adminPath + url, function(data) {
			if(data.status){
				Base.success(data.data);
				window.parent.Menu.table.refresh(); // 刷新列表
				menuDetail.close();
			}else{
				Base.error(data.message);
			}
		}, function(data) {
			Base.error(errorInfo);
		});
		ajax.set(this.menuData);
		ajax.start();
	}
}

$(function() {
	Base.initValidator("menuDetail", menuDetail.validateFields);
//	$('#parentName').click(function() {
//		$(this).selectMenu({
//			title:false,
//			showField : "menuName",
//			keyField : "id",
//			data : menudata,
//			arrow : true,
//			initSelected : $('#parentId').val(),
//			listSize : 5,
//			search:false,
//			eSelect : function(data) {
//				$('#parentName').val(data[0].menuName);
//				$('#parentId').val(data[0].id);
//				$('#level').val(data[0].level+1);
//			}
//		})
//	})
	
	var ztree = new $ZTree("pidTree", Base.adminPath + "/sysMenu/ztreeList");
    ztree.bindOnClick(menuDetail.clickMenuTree);
    ztree.init();
    menuDetail.ztreeInstance = ztree;
	
	if(isMenu){
        $("#isMenu").val(isMenu);
    }else{
        $("#ismenu").val(0);
    }
	
	if(isEnable){
        $("#isEnable").val(isEnable);
    }else{
        $("#isEnable").val(1);
    }
	
	if(parentId){
		var node = ztree.setDefalutVal('id',parentId);
		$('#parentName').val(node.name);
		$('#parentId').val(node.id);
	}

})